package main

import (
	"booking/config"
	"booking/internal/crontab"
	"booking/locales"
	"booking/models"
	"time"

	"github.com/robfig/cron/v3"
)

func main() {
	time.Local = time.UTC
	config.Init()
	locales.Init()
	models.Database()
	models.Redis()
	// 初始化事件系统
	Exec()
	select {}
}

func Exec() {
	/**
	 ┌───────────── 秒（0 - 59）
	 │ ┌───────────── 分（0 - 59）
	 │ │ ┌───────────── 时（0 - 23）
	 │ │ │ ┌───────────── 日（1 - 31）
	 │ │ │ │ ┌───────────── 月（1 - 12）
	 │ │ │ │ │ ┌───────────── 星期几（0 - 6） (周日为0)
	 │ │ │ │ │ │
	 * * * * * *
	**/
	//logger.Println("定时脚本开始运行")
	c := cron.New(cron.WithSeconds())
	//_, err := c.AddFunc("00 * * * * *", crontab.Test)
	_, err := c.AddFunc("00 00 00 * * *", crontab.GenerateOrderStats)
	if err != nil {
		return
	}

	c.Start()
}
